home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Magazine / YAM / Source / includes / clib / socket_protos.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-03-09  |  1.7 KB  |  79 lines

  1. #ifndef CLIB_SOCKET_PROTOS_H
  2. #define CLIB_SOCKET_PROTOS_H 1
  3.  
  4. #define SMTP_NO_SOCKET -1
  5.  
  6. #define    SOCK_STREAM 1
  7. #define AF_INET 2
  8. #define EINPROGRESS 36
  9.  
  10. #include <sys/types.h>
  11.  
  12. struct in_addr {
  13.   u_long s_addr;
  14. };
  15.  
  16. struct sockaddr_in {
  17.   u_char sin_len;
  18.   u_char sin_family;
  19.   u_short sin_port;
  20.   struct in_addr sin_addr;
  21.   char sin_zero[8];
  22. };
  23.  
  24. struct hostent {
  25.   char *h_name;
  26.   char **h_aliases;
  27.   int h_addrtype;
  28.   int h_length;
  29.   char **h_addr_list;
  30.   #define h_addr h_addr_list[0]
  31. };
  32.  
  33. /*
  34. struct sockaddr {
  35.   u_char sa_len;
  36.   u_char sa_family;
  37.   char sa_data[14];
  38. };
  39.  
  40. struct addrinfo {
  41.   long ai_flags;
  42.   long ai_family;
  43.   long ai_socktype;
  44.   long ai_protocol;
  45.   size_t ai_addrlen;
  46.   char *ai_canonname;
  47.   struct sockaddr *ai_addr;
  48.   struct addrinfo *ai_next;
  49. };
  50. */
  51. struct sockaddr;
  52. struct addrinfo;
  53.  
  54. #include <exec/types.h>
  55.  
  56. LONG Socket(LONG,LONG,LONG);
  57. LONG Connect(LONG,const struct sockaddr *,LONG);
  58. LONG Send(LONG,const unsigned char *,LONG,LONG);
  59. LONG Recv(LONG,unsigned char *,LONG,LONG);
  60. LONG Shutdown(LONG,LONG);
  61. LONG CloseSocket(LONG);
  62. struct hostent *GetHostByName(const unsigned char *);
  63. LONG Errno(void);
  64. LONG IoctlSocket(LONG d, ULONG request, char *argp);
  65. LONG ObtainSocket(LONG id, LONG domain, LONG type, LONG protocol);
  66. LONG ReleaseSocket(LONG fd, LONG id);
  67. LONG ReleaseCopyOfSocket(LONG fd, LONG id);
  68. LONG SetErrnoPtr(void *errno_p, LONG size);
  69. char *Inet_NtoA(ULONG s_addr);
  70. ULONG Inet_MakeAddr(ULONG net, ULONG lna);
  71. ULONG Inet_LnaOf(LONG s_addr);
  72. ULONG Inet_NetOf(LONG s_addr);
  73. LONG Dup2Socket(LONG fd1, LONG fd2);
  74. LONG SocketBaseTagList(struct TagItem *tagList);
  75. LONG SocketBaseTags(LONG tag, ...);
  76. LONG GetSocketEvents(ULONG *eventmaskp);
  77.  
  78. #endif /* !CLIB_SOCKET_PROTOS_H */
  79.